Fechar

@MastersThesis{Almeida:2017:ChChWe,
               author = "Almeida, Diego Benincasa Fernandes Cavalcanti de",
                title = "Characterization of changes in web services contracts based on 
                         repository mining",
               school = "Instituto Nacional de Pesquisas Espaciais (INPE)",
                 year = "2017",
              address = "S{\~a}o Jos{\'e} dos Campos",
                month = "2017-03-28",
             keywords = "software repository mining, web services, service contract, 
                         software adaptation, web service planning, minera{\c{c}}{\~a}o 
                         de reposit{\'o}rio de software, servi{\c{c}}o web, contratos de 
                         servi{\c{c}}o web, adapta{\c{c}}{\~a}o de software, 
                         planejamento de servi{\c{c}}o web.",
             abstract = "During a software system life cycle, project modifications occur 
                         for different reasons, either for natural evolution or 
                         requirements readjustment. Regarding web services, communication 
                         contracts modifications are equally common, which induce the need 
                         for adaptation in every system node, from the service consumers to 
                         the providers. More significant those changes are, greater the 
                         efforts required for this adjustment. To help reducing the 
                         contracts changing impact over software source code, easyto-adapt 
                         systems can be designed in order to minimize the application 
                         remodeling effort. However, to make this approach possible, it is 
                         necessary to understand how those contract changes occur, 
                         analyzing the most common modification types and how often they 
                         happen. In this sense, this dissertation undertakes an evaluation 
                         of the change history of different open-source projects whose web 
                         service contracts are defined using documents in Web Service 
                         Description Language (WSDL) format. Using software repository 
                         mining with MetricMiner tool, the behavior of four modification 
                         types (addition, removal, relocation and refactoring) that occur 
                         to four XML element types (xs:element, xs:attribute, 
                         xs:complexType and xs:import) of contracts schemas was analyzed, 
                         in a universe of 139 projects whose source-codes are hosted at 
                         GitHub. As a result of this study, conclusions were that 
                         modifications of types addition and removal were more frequent 
                         than the others and take place in about 20\% of verified 
                         revisions, and that a great amount of commits the act of recording 
                         file changings to the repository and creating a new file revision 
                         are related to a small number of changings in contracts. Such 
                         results indicate that modifications tend to be spread in many 
                         revisions and that a significant amount of changes are related to 
                         inclusion or exclusion of exchanged information in contracts. 
                         Conclusions obtained serve as input to the planning of new web 
                         services and to the maintenance of existing ones, giving important 
                         knowledge about services evolution which helps reducing or even 
                         avoiding excessive adaptation effort of both clients and provides 
                         with the natural evolution of contracts. RESUMO: Durante o ciclo 
                         de vida de um sistema computacional, modifica{\c{c}}{\~o}es no 
                         projeto ocorrem por diferentes motivos, quer sejam por necessidade 
                         de evolu{\c{c}}{\~a}o ou para readequa{\c{c}}{\~a}o aos 
                         requisitos. No que diz respeito a servi{\c{c}}os web, 
                         modifica{\c{c}}{\~o}es nos contratos de comunica{\c{c}}{\~a}o 
                         s{\~a}o igualmente comuns, o que causa a necessidade de 
                         adapta{\c{c}}{\~a}o de todos os agentes do sistema, desde os 
                         consumidores at{\'e} os provedores dos servi{\c{c}}os. Quanto 
                         mais significativas forem tais mudan{\c{c}}as, maior ser{\'a} o 
                         esfor{\c{c}}o necess{\'a}rio para o ajuste. Para reduzir o 
                         impacto das altera{\c{c}}{\~o}es dos contratos sobre o 
                         c{\'o}digo-fonte das aplica{\c{c}}{\~o}es, sistemas mais 
                         adapt{\'a}veis podem ser desenvolvidos de modo a minimizar o 
                         esfor{\c{c}}o de remodelagem da aplica{\c{c}}{\~a}o {\`a} nova 
                         vers{\~a}o do contrato. Contudo, para que tal abordagem seja 
                         poss{\'{\i}}vel, {\'e} necess{\'a}rio entender como tais 
                         mudan{\c{c}}as em contratos ocorrem, analisando os tipos mais 
                         comuns de altera{\c{c}}{\~o}es e a frequ{\^e}ncia com que 
                         acontecem. Neste sentido, esta disserta{\c{c}}{\~a}o realiza uma 
                         avalia{\c{c}}{\~a}o do hist{\'o}rico de mudan{\c{c}}as de 
                         diferentes projetos cujos contratos de servi{\c{c}}os web 
                         s{\~a}o definidos por meio de documentos em formato Web Service 
                         Description Language (WSDL). Utilizando minera{\c{c}}{\~a}o de 
                         reposit{\'o}rio com a ferramenta MetricMiner, foi analisado o 
                         comportamento de quatro tipos de modifica{\c{c}}{\~o}es 
                         (adi{\c{c}}{\~a}o, remo{\c{c}}{\~a}o, realoca{\c{c}}{\~a}o e 
                         refatora{\c{c}}{\~a}o) que ocorrem em quatro tipos de elementos 
                         XML (xs:element, xs:attribute, xs:complexType e xs:import) dos 
                         esquemas dos contratos, num universo de 139 projetos cujos 
                         c{\'o}digosfonte est{\~a}o hospedados no GitHub. Como resultado 
                         deste estudo, concluiu-se que modifica{\c{c}}{\~o}es dos tipos 
                         adi{\c{c}}{\~a}o e remo{\c{c}}{\~a}o s{\~a}o bem mais 
                         frequentes que as outras e que ocorrem em cerca de 20% das 
                         revis{\~o}es verificadas, al{\'e}m de que grande parte dos 
                         commits ato de gravar no reposit{\'o}rio altera{\c{c}}{\~o}es 
                         em arquivos, criando novas revis{\~o}es dos mesmos est{\~a}o 
                         relacionados a poucas altera{\c{c}}{\~o}es dos contratos. Os 
                         resultados indicam que as modifica{\c{c}}{\~o}es tendem a se 
                         espalhar por v{\'a}rias revis{\~o}es e que parcela significante 
                         de mudan{\c{c}}as est{\'a} relacionada com inclus{\~a}o ou 
                         exclus{\~a}o de informa{\c{c}}{\~o}es trafegadas em contratos. 
                         As conclus{\~o}es obtidas servem de insumo ao planejamento de 
                         novos servi{\c{c}}os web e de manuten{\c{c}}{\~a}o dos j{\'a} 
                         existentes, fornecendo conhecimento importante sobre a 
                         evolu{\c{c}}{\~a}o dos servi{\c{c}}os que auxilia a reduzir ou 
                         mesmo evitar esfor{\c{c}}o demasiado de adapta{\c{c}}{\~a}o 
                         tanto de clientes quando de provedores quando da natural 
                         evolu{\c{c}}{\~a}o dos contratos.",
            committee = "Vijaykumar, Nandamudi Lankalapalli (presidente) and Guerra, 
                         Eduardo Martins (orientador) and Stephany, Stephan and Carvalho, 
                         Solon Ven{\^a}ncio de and Forster, Carlos Henrique Quartucci",
         englishtitle = "Caracteriza{\c{c}}{\~a}o de mudan{\c{c}}as em contratos de 
                         servi{\c{c}}os web baseada em minera{\c{c}}{\~a}o de 
                         reposit{\'o}rio",
             language = "en",
                pages = "108",
                  ibi = "8JMKD3MGP3W34P/3NHQ3T8",
                  url = "http://urlib.net/ibi/8JMKD3MGP3W34P/3NHQ3T8",
           targetfile = "publicacao.pdf",
        urlaccessdate = "27 abr. 2024"
}


Fechar